/**
 * Created by Administrator on 2015/6/4.
 */
/*
* 可以用writeStream对象写入文件
* fs.createWriteStream();
*   path       要写入的文件路径
*   options    选项、
*       flags  如果是追加，需要设置为a
*       start  代表指定文件开始写入的位置
*
* */
var fs=require('fs');
var src=fs.createReadStream('./data.txt');
var dest=fs.createWriteStream('./2.txt');

//操作要写入的文件
dest.on('open',function(){
    console.log('写入文件已经打开！');
});

//操作要读取的文件
//data:每次客户端发过来数据时执行的事件
src.on('data',function(data){
//在回调函数中data数据的来源是buffer引用了read方法
   var flag= dest.write(data);
    console.log('write方法的返回值'+flag);//true write内部有缓冲区，当操作系统内部缓冲区已满时为false，未满时为true
    //write方法是往流中写数据，实际是写到了buffer中，并不是立刻写到文件中。从缓冲区拷贝到文件中。
    //此处缓冲区的容量是很小的，很快就写满了，写满后会把他缓冲到一个内存中
    //false 时把内容放到另一个缓冲中，暂存起来了。
});

src.on('end',function(){
    dest.end('再见',function(){ //end方法是写入到文件中，并且进行关闭。
        console.log('文件全部写入完毕');
        console.log('共写入了%d字节的数据',dest.bytesWritten);
    });
});

